/**
 * @Copyright (C) 2019 广州金鹏集团有限公司.
 * 本系统是商用软件,未经授权擅自复制或传播本程序的部分或全部将是非法的.
 * @创建人: 赵力
 * @创建时间: 2019-01-22 14:04
 * @版本: V1.0
 */
package com.ikcai.enginegraph.service;


import com.ikcai.enginegraph.domain.base.BaseRelationship;
import com.ikcai.enginegraph.domain.node.Person;

/**
 * @类功能说明: 人物服务类接口
 *
 * @创建人: 赵力
 * @创建时间: 2019-01-22 14:04
 */
public interface IPersonService {

    /**
     * @desc 添加人物节点
     * @param person
     * @return boolean
     * @author 赵力
     * @date 2019-01-22 14:08:37
     */
    Person addPerson(Person person);

    /**
     * @desc 根据名称添加人物
     * @param name
     * @return com.ikcai.enginegraph.domain.node.Person
     * @author 赵力
     * @date 2019-01-25 10:30:41
     */
    Person addPersonByName(String name);

    /**
     * @desc 根据名称获取人物节点
     * @param name
     * @return com.ikcai.enginegraph.domain.Person
     * @author 赵力
     * @date 2019-01-22 14:08:57
     */
    Person getPersonByName(String name);

    /**
     * @desc 根据ID删除人物节点
     * @param id
     * @return boolean
     * @author 赵力
     * @date 2019-01-22 14:41:35
     */
    boolean deletePerson(Long id);

    /**
     * @desc 添加人物关系
     * @param name 关系名称
     * @param startName 开始节点名称
     * @param endName 结束节点名称
     * @return BaseRelationship
     * @author 赵力
     * @date 2019-01-25 10:24:01
     */
    BaseRelationship addPersonRelationship(String name,String startName,String endName);

    /**
     * @desc 获取任务关系
     * @param name 关系名称
     * @param startName 开始节点名称
     * @param endName 结束节点名称
     * @return BaseRelationship
     * @author 赵力
     * @date 2019-01-25 11:01:16
     */
    BaseRelationship getPersonRelationship(String name, String startName, String endName);

    /**
     * @desc 添加武器
     * @param name
     * @param startName
     * @param endName
     * @return com.ikcai.enginegraph.domain.base.BaseRelationship
     * @author 赵力
     * @date 2019-01-25 15:02:55
     */
    BaseRelationship addPersonWeapon(String name, String startName, String endName);
}
